Electronic systems and circuits have made a significant contribution toward the advancement of modern society and are utilized in a number of applications to achieve advantageous results. Electronic technologies such as digital computers, calculators, audio devices, video equipment, and telephone systems have facilitated increased productivity and reduced costs in analyzing and communicating data, ideas and trends in most areas of business, science, education and entertainment. Frequently, the electronic systems designed to provide these results include memories. However, accessing memory resources in a fast and efficient manner can involve complicated protocols.
Numerous electronic devices include processors that operate by executing software comprising a series of instructions for manipulating data in the performance of useful tasks. The instructions and associated data are typically stored in a memory. Memories usually consist of a location for storing information and a unique indicator or address. The utility a device provides often depends upon the speed and efficiency at which instructions are executed. The ability to access a memory and transfer information quickly and conveniently usually has a significant impact on information processing latency. The configuration of a memory usually affects the speed at which memory locations are accessed.
Traditional attempts at memory control are often very convoluted and complex. Conventional daisy chain systems often involve latencies that can become very large due to large buffer sizes and scheduling amongst the various nodes within the daisy chain. It is often problematic for controllers and/or central processors to determine latency for read requests without complex scheduling algorithms and artificial limitations of the system. Traditional approaches often lead to long average latencies, very complex control mechanisms, larger buffer sizes, or a combination of such problematic concerns.